package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.system.dto.request.LanguageDeleteRequest;
import com.ssy.lingxi.system.dto.request.LanguageListRequest;
import com.ssy.lingxi.system.dto.request.LanguageRequest;
import com.ssy.lingxi.system.dto.response.LanguageListResponse;
import com.ssy.lingxi.system.entity.Language;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* 语言设置管理服务层
* @author wrc
* @date 2020/5/25
*/
public interface LanguageService {

    /**
    * 查询语言设置列表
    * @author wrc
    * @date 2020/5/25
    */
    Wrapper<PageData<LanguageListResponse>> languageList(LanguageListRequest request);

    /**
    * 添加语言
    * @author wrc
    * @date 2020/5/25
    */
    Wrapper<Void> languageAdd(HttpServletRequest httpServletRequest, Language request);

    /***
     * 修改语言设置
     * @param httpServletRequest
     * @param request
     * @return 修改结果
     */
    Wrapper<Void> languageUpdate(HttpServletRequest httpServletRequest,Language request);

    /**
    * 删除语言
    * @author wrc
    * @date 2020/5/25
    */
    Wrapper<Void> languageDelete(HttpServletRequest httpServletRequest, LanguageDeleteRequest request);


    /**
    * 查询语言设置详情
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper<LanguageListResponse> languageDetails(LanguageRequest request);


    /**
    * 查询全部语言
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper<List<Language>> languageAll();


    /**
    * 停用语言
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper<Void> languageStop(LanguageDeleteRequest request);
}
